package com.gzx.spring.db.entity;

import java.io.Serializable;
import java.time.LocalDateTime;

import org.springframework.format.annotation.DateTimeFormat;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fhs.core.trans.vo.TransPojo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
@TableName("USER")
public class PhoneUser implements Serializable, TransPojo{

    private static final long serialVersionUID = 1L;

	/** 主键 */
    @TableId
    @Schema(description = "主键")
    private String id;

    @Schema(description = "机构ID")
    @TableField(fill = FieldFill.DEFAULT)
   private Integer orgId;


    @Schema(description = "创建时间")
    private Integer createtime;
    
    @Schema(description = "手机号")
    @TableField()
    public String phone;
    
    @Schema(description = "头像")
    private String header;
    
    @Schema(description = "用户名")
    private String uname;
    
    @Schema(description = "unionid")
    private String unionid;
    
    @Schema(description = "真实姓名")
    private String name;
    
    @Schema(description = "支付宝user_id")
    @TableField("zfbUserId")
    private String zfbUserId;
    
    @Schema(description = "支付宝用户信息")
    @TableField("zfbUser")
    private String zfbUser;
    
    @Schema(description = "密码")
    private String pwd;
    
    @Schema(description = "是否学生")
    @TableField("isStudent")
    private Integer isStudent;
    
    @Schema(description = "奖金分")
    private Integer bonus;
    
    @Schema(description = "身份证号")
    @TableField("idCard")
    private String idCard;
    
    @Schema(description = "最后登录时间")
    @TableField("lastLoginTime")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime lastLoginTime;
    
    @Schema(description = "身份证图片")
    @TableField("idCardUrl")
    private String idCardUrl;
    
    @Schema(description = "入流状态（1自己搜，2扫平台二维码）")
    @TableField("flowState")
    private Integer flowState;
    
    @Schema(description = "合同用户信息")
    @TableField("contractUserInfo")
    private String contractUserInfo;
    
    @Schema(description = "邮箱")
    private String email;
    
    @Schema(description = "订阅消息1活动开始")
    private String messageTemplateType;
    
    @Schema(description = "设备信息")
    @TableField("devInfo")
    private String devInfo;
    
    @Schema(description = "平台1微信，2支付宝，3微信h5，4h5手机号登陆")
    @TableField("platform")
    private Integer platform;
    
    @Schema(description = "支付宝uid，签署蚂蚁链")
    @TableField("alipayUid")
    private String alipayUid;
    
    @TableField("riskInfo")
    private String riskInfo;
    
    @Schema(description = "三方小程序id")
    @TableField(exist = false)
    private String otherAppId;
    
    @Schema(description = "客户邀请码")
    private String invitationCode;
}
